home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / games / tetrisp.zip / TETRISP.DOC < prev    next >
Text File  |  1993-10-22  |  28KB  |  514 lines

  1. [<──────────────────<──────<────<─<<─<<[]>>─>>─>────>───────>─────────────────>]
  2.  
  3.                               <<─> Tetris Pro <─>>
  4.  
  5. [<──────────────────<──────<────<─<<─<<[]>>─>>─>────>───────>─────────────────>]
  6.  
  7.  
  8.   ┌───∙·    ·∙───────────────∙· For Support Call ·∙──────────────∙·    ·∙───┐
  9.   │ GENIAAL BBS 2       Line 1: +31-2294-2959     SysOp : Atilla Meijs      │
  10.   │                     Line 2: +31-2294-3154   CoSysOps: Jaap Verboon & Me │
  11.   │ Programmers Support Line 1: +31-4920-13558    SysOp : Peter Raaphorst   │
  12.   └─∙· ·∙────────────∙·         ·∙────────────∙·         ·∙───────────∙· ·∙─┘
  13.  
  14.                                  ─ Programmer ─
  15.                                 Michiel Ouwehand
  16.  
  17.                                   ─ Support ─
  18.                              Tijs Mul (Beta Tester)
  19.                         Carlo Vogelsang (Sound Routines)
  20.                        Kees Spoelstra (Lots of ASM Stuff)
  21.                   Atilla Meijs (MOD's, GIF and lending of GUS)
  22.  
  23.                                   ─ Graphics ─
  24.                                 Various GIF CD's
  25.  
  26.                                    ─ Sound ─
  27.                          Various nameless MODule files
  28.                             DJ Digital (Contact me!)
  29.                                  
  30.                                ─ Contact me at ─
  31.                     (InterNet) michiel@progsup.tess.wlink.nl
  32.                             (FreeNet) 2:2802/108.11
  33.                 Write a message to Co-SysOp #2 at GENIAAL BBS 2
  34.                   Call me at: (+31)-2294-2738 (or FAX me here)
  35.  
  36.                   "Tetris" is a registered trademark of Elorg.
  37.                                        ─
  38.         I hope the author of the program/copyright holder will not mind
  39.      me using the name Tetris for my game. My intentions are good, I charge
  40.                           no fee, please let me live.
  41.                                        ─
  42.  
  43.  ──- A -───────────────────────────────────────────────────────────────────────
  44.  ███████████████████│ ████████████▓│   █████│   ████████████│   █████│
  45.  ███████████████████│ █████████▓▓▓▓▓▓│ █████│ █████████████▓▓▓│ █████│
  46.         ██▓▓▓│        ▓▓▓▓▓│    ▓▓▓▓▓│ ██▓▓▓│ ██▓▓▓│     ▓▓▓▓▓│ ███▓▓│
  47.         ▓▓▓▓▓│        ▓▓▓▓▓│    ▓▓▓▓▓│ ▓▓▓▓▓│ ▓▓▓▓▓│     ▓▓▓▓▓│ ▓▓▓▓▓│
  48.         ▓▓▓▓▓│        ▓▓▓▓▓│    ▓▓▒▒▒│ ▓▓▓▓▓│ ▓▓▓▓▓│     ▓▓▒▒▒│ ▓▓▓▓▓│
  49.         ▓▓▓▒▒│        ▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒│ ▓▓▒▒▒│ ▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒│ ▓▓▓▒▒│
  50.         ▒▒▒▒▒│        ▒▒▒▒▒▒▒▒▒▒▒▒▒│   ▒▒▒▒▒│ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│ ▒▒▒▒▒│
  51.         ▒▒▒▒▒│        ▒▒▒▒▒│ ▒▒▒▒▒│    ▒▒▒▒░│ ▒▒▒▒▒│     ▒░░░░│ ▒▒░░░│
  52.         ▒▒▒░░│        ▒▒▒░░│  ░░░░░│   ▒░░░░│ ▒▒░░░│     ░░░░░│ ░░░░░│
  53.         ░░░░░│        ░░░░░│   ░░░░░│  ░░░░░│ ░░░░░│     ░░░░░│ ░░░░░░░░░░░░░░│
  54.         ░░░░░│        ░░░░░│    ░░░░░│ ░░░░░│ ░░░░░│     ░░░░░│ ░░░░░░░░░░░░░░│
  55.  ────────────────────────────────────────────────────────────────────- GAME -──
  56.  
  57.                            Tetris Pro - Documentation
  58.  
  59. 1.      Introduction
  60.  
  61.         Welcome to the Tetris Pro documentation, this small document is split up
  62.         into a few pieces. The next part you'll find is the installation
  63.         description, then you'll find more background info about the program,
  64.         and where you can get it.
  65.  
  66.         Note: I didn't create most of the graphics or the sound. I'm a pro-
  67.         grammer not a graphics/sound artist. I ripped most from CD's or from
  68.         our own BBS and if I found who made the picture or composed the MOD,
  69.         I will say it and thank this person, however, most people don't. Of
  70.         course, the Tetris Pro specific stuff, like the intro screens etc.
  71.         were created by me (as you can clearly see).
  72.  
  73.         First, let it be clear that my main goal was not be make a new Tetris
  74.         with all kinds of dooh-dahs. I designed one I liked most, just like the
  75.         old original Tetris (yes, the CGA/EGA one) but then with some nice
  76.         graphics and a bit sound etc. Every game-reviewer/tester who says my
  77.         program 'doesn't add anything to the original' didn't read my docs. At
  78.         least she/he should say 'the author didn't choose to add any dooh-dahs
  79.         because he thought it would decrease the game fun, I do (or do not)
  80.         agree with him'.
  81.  
  82.         History:
  83.  
  84.         Tetris Pro started as a simple Tetris clone in MCGA on a 386SX-16. It
  85.         read a simple decompressed picture and had no background, no sound, no
  86.         nothing really and was _VERY_ buggy. It was written in GFA and was quite
  87.         fast. Then I got in SVGA support (directly to ET4000 and compatibles)
  88.         and the backgrounds. Backgrounds were uncompressed and the program was
  89.         quite (read: very, horribly, unacceptably) slow... Then I moved the
  90.         pictures to the PCX format, making the program even slower and almost
  91.         increased the size. Removed a lot of bugs though.
  92.  
  93.         Time warp: Couple of months later I started looking into C++, so I
  94.         thought, what the heck, it looks nice, why not program in it? So, it
  95.         took me a week or so to fully convert Tetris Pro which than ran with a
  96.         very vanilla interpretation of VESA. By moving to C++ I speeded up the
  97.         code quite a lot. Removed a lot of bugs too. Still slow, so I learnt
  98.         Assembler and sped up thing a lot more (thanks to Kees). I immensly sped
  99.         up my VESA routines and screen updates, moved the files to the GIF
  100.         format and added four levels making ten. I made the datadisk structure,
  101.         moved the compression to a slightly altered ARJ file and made my VESA
  102.         routines even more neat. Then it was time to move decompression into
  103.         inline assembler, still slow, but a good preparation for the real stuff.
  104.         When I finally got all the decompression stuff into inline assembler I
  105.         was to face the biggest challenge of programmin: Moving it to Outline
  106.         assembler. So, I did (in a month or two) and finally, I got this ARJ
  107.         decompression thing working on one single segment. Still slow, because
  108.         I just made it to work, not to be fast. So I went optimizing, and THAT
  109.         was fun, I made the code nearly 5x as fast as the original. The quick
  110.         386+ LEA's really helped me out! So, I approached Planhold BV for spon-
  111.         soring. They didn't react at first, but my persistence finally made
  112.         them call me. And it seemed my Tetris didn't even work there. The pro-
  113.         blem was the granularity of a SpeedSTAR 24X, Pro, Stealth etc. This
  114.         problem was also comen on ATI cards. So, I changed my VESA routines
  115.         to work with different granularities too. No sound until this point, so
  116.         I called in Carlo's help to get me some really good music, and it
  117.         worked! Now, most of the popular cards are supported, ever seen a PD
  118.         game do this before? Note: The Gravis UltraSound is a special case. It's
  119.         consumation of system time is below a percent at ANY rate (it ALWAYS
  120.         plays at 44 KHz, stereo, 16 bit). However, it is adviced that you
  121.         upgrade your card to at least 512 Kb. All the other cards mix at
  122.         approximately 6% at 22KHz and 11% or 10% at 44 KHz. DAC's and PC-Honkers
  123.         are slower, dunno the speed, depends on your computer's components.
  124.         This is all benchmarked at my 386 DX-40. I've got some ideas to make it
  125.         even faster. You might see the GLX module player as a stand-alone
  126.         program in the near future. It's going to be the fastest player ever.
  127.         The Renaissance claim to be faster, that'd be nice, some competition!
  128.         No, really, GLX can be made faster, I've got some ideas to make it
  129.         even faster. However, the Renaissance's code only works at 22KHz. I
  130.         think that's a shame, sound starts getting good at 36KHz and finally
  131.         sound very good when it reaches 44Khz. Bytheway, the GLX code I use
  132.         in Tetris Pro will be different from the stand-alone player. The
  133.         stand-alone player will have far better detection of cards and handling.
  134.         When a card isn't found I just play it anyway, why? Well, some emulated
  135.         modes (by other downwards compatible cards) fail detection, but DO work,
  136.         so choose the right card. Because Planhold wasn't really very optimis-
  137.         tic for sponsoring me, I contacted VOBIS A'dam II. They were quite
  138.         enthousiastic from the beginning and friendly too, so I decided to let
  139.         VOBIS sponsor me instead of Planhold BV.
  140.  
  141.                            Tetris Pro - Documentation
  142.  
  143. 2.      Installation
  144.  
  145.                 OK, here are some quick docs on installing Tetris Pro. If
  146.         everything is allright there will be an archive, named TETRISP.xxx
  147.         (xxx can be ARJ, ZIP, etc.). This archive must be extracted with
  148.         directory creation (which means using "ARJ x TETRISP" or "PKUNZIP
  149.         TETRISP -d"). Now, you should have the Tetris Pro program file
  150.         "TETRISP.EXE", the Tetris Pro setup program "SETUP.EXE", Tetris Pro's
  151.         datafile "TETRISP.DAT" and a directory called "DDISKS". Without
  152.         DataDisks Tetris Pro is useless, so if somebody forgot to give you one
  153.         you should get one as soon as you can. If you don't know how you can get
  154.         them, there is a note on this further in the docs, so just read on.
  155.                 Ok, presuming you HAVE got one or more datadisks, dump the *.DD
  156.         files in the DDISKS directory. Run the setup program, choose sound card
  157.         and direct palette mode. Run Tetris Pro and enjoy... Really, if Tetris
  158.         Pro kicks up without errors you'll probably be ready for hours of fun
  159.         playing Tetris.
  160.  
  161.         ─∙· Oh nOoOo, TrOuBlEsHoOtInG PaRt ·∙───────────────────────────────────
  162.  
  163.         Well, this is the troobleshooting part. Ok, there area couple of types
  164.         of errors. They can be divided into four groups:
  165.  
  166.         1. - Errors caused by the unavailability of drivers.
  167.         2. - Errors caused by the inexistense of system requirements.
  168.         3. - Errors caused by the corruption of datafiles.
  169.         4. - Warnings.
  170.  
  171.         Please, when you get an error, look it up in the errors list and
  172.         continue reading below here.
  173.  
  174.         1. - VESA Driver not loaded
  175.              When you haven't got a VESA driver, get one from your supplier,
  176.              most suppliers will be happy to help you, or check out some
  177.              BBS'es, they have a lot too.
  178.  
  179.              For those who not know, a VESA driver is a driver needed to access
  180.              the SVGA card in a compatible way. If you haven't got SVGA or your
  181.              SVGA card has only 256Kb of RAM, forget it, buy a better one. You
  182.              need at least 512Kb of RAM on your SVGA card.
  183.  
  184.              Some of the newer SVGA cards have the VESA-BIOS-EXTENSIONS, also
  185.              know as VBE hardware-matically. It's just a part of their VGA BIOS
  186.              I've seen it on a (as I recall) Cirrus Logic board and a Trident.
  187.  
  188.         1. - XMS Driver not present
  189.              Easy solution, put HIMEM.SYS in your config.sys and remove
  190.              EMM386.EXE, QEMM386.SYS and other memory managers.
  191.  
  192.         2. - Not enough free XMS memory.
  193.              If you haven't got 4Mb of RAM on your computer, bad luck, you need
  194.              them, go buy new ones. If you have got 4Mb and still get this
  195.              warning, you probably have SMARTDRV (SmartDrive), SUPERPCK (Super
  196.              PCKwik), NCACHE (Norton Cache), PCACHE (PC Cache) or sort-a-like
  197.              program in your CONFIG.SYS, remove it or decrease the number that
  198.              follows it until Tetris Pro wants to run.
  199.         
  200.         2. - VESA Mode 101h not supported.
  201.              VESA Mode 101h is the SVGA mode 640x480x256. If yout VESA driver
  202.              doesn't want to put your computer in that mode you are most like-
  203.              ly to have only 256Kb of screen-memory on your SVGA board. Tetris
  204.              Pro simply doesn't work then. Buy an SVGA card with at least 512Kb
  205.              of RAM on it, but most preferably 1Mb or even 2Mb.
  206.  
  207.         3. - Bad Huffman code / CRC Error
  208.              These errors are detected while decompression the data files and
  209.              mean that your datadisk or other data file is corrupted. Get a
  210.              new one!
  211.  
  212.         4. - Windows warning, EMM386 Warning, V86 Warning, Virtual-DMA warning
  213.              These are all warning because you are running some kind of program,
  214.              which thinks it is needed that she/he is the allmighty memory-mana-
  215.              ger. These memory managers are made so that programs who can't
  216.              really get along with memory can do so. E.g. older programs run
  217.              better with QEMM, because QEMM gives them more base memory. How-
  218.              ever Tetris Pro'd like to do its own management. It doesn't need
  219.              those managers. These managers do all kind of dirty tricks to get
  220.              rid of limits, like placing to processor into V86 mode and
  221.              changing the IOPL (I/O Priviledge Level). Now THEY control inter-
  222.              rupts, Ins & Outs, DMA, etc. This makes your computer slower and
  223.              because these programs aren't 100% 'clean' written they might
  224.              crash your computer or say that an exception error occured which
  225.              they generated themselves (I've seen it happen). Also, some
  226.              managers destroy the upper part of the E?? registers of the 386,
  227.              QEMM 5.x as I recall did this. That's why I advice to remove these
  228.              filthy programs which are polluting your memory. Only install
  229.              HIMEM.SYS or HIDOS.SYS for DR-DOS as I recall.
  230.  
  231.         
  232.                                 Tetris Pro - Documentation
  233.  
  234. 3.      Frequently asked questions
  235.  
  236.                 Allright, here is a small summary of frequently asked questions,
  237.         if you've got a problem, read these first. (Frequently given anwsers are
  238.         also listed)
  239.  
  240.         Q: GUS Doesn't work after Windows or GUSMOD
  241.         A: Well, dunno why it doesn't, just run UltrInit once and it's fixed.
  242.  
  243.         Q: I have an SVGA card with 512Kb but don't seem to get Tetris Pro
  244.            running, he keeps mentioning this VESA driver thing. What does it
  245.            mean and what does it do?
  246.         A: A VESA driver is a driver which is made for your graphics card, it's
  247.            a driver which tells program HOW to get along with your graphics
  248.            card. In order to run Tetris Pro you need one. Contact your dealer or
  249.            manufacturer of the graphics card for more info. Also, there are some
  250.            of them included in the archive VESA. Try one of those first.
  251.  
  252.         Q: I have an SB 2.x clone but the sound is real 'cracky'. How do I get
  253.            rid of it?
  254.         A: Switch to 22Khz, 44KHz is somewhat buggy on some SB 2.x clones.
  255.  
  256.         Q: I can't have the sound FX on only, why?
  257.         A: Technical difficulty. It isn't much fun anyway.
  258.  
  259.         Q: Sometimes the screen fades out to change level and just stays black.
  260.            Why does he do that?
  261.         A: Well, could be anything. My program just doesn't like your computer.
  262.            I've seen it happen to people who load high mouse drivers. I think
  263.            it's because a high-loaded program is under the control of the XMS
  264.            manager who I am then working with. Try remove things from upper
  265.            memory and removing such redundant programs as QEMM, EMM386 etc.
  266.  
  267.         Q: My screen 'flickers' when changing from/to levels, why?
  268.         A: Your SVGA card doesn't like to have the palette changed 'on the fly',
  269.            run SETUP and change Palette mode.
  270.  
  271.         Q: Tetris Pro exits with an error message which has something to do with
  272.            XMS handles or something? What's that?
  273.         A: An XMS handle is needed by Tetris Pro to access your machine's extra
  274.            memory. When your computer runs out of them you're probably multi-
  275.            tasking or something. Try to put this line in you CONFIG.SYS
  276.  
  277.            DEVICE=C:\DOS\HIMEM.SYS /NUMHANDLES=128
  278.  
  279.            This makes sure you've got dozens of XMS handles so you won't run out
  280.            of them as easy. When this doesn't help, remove EMM386, QEMM386 or
  281.            sort-a-like memory managers.
  282.            
  283.         Q: My screen 'trashes up'. It seems like the lines are partly on the
  284.            wrong part of the screen. Why does he do that?
  285.         A: It's probably a bug in your VESA driver. Some VESA drivers have the 
  286.            odd habbit to say that there are 1024 bytes on every screen line 
  287.            even though there are only 640 bytes present. Tetris Pro surely 
  288.            can't help it. It's the VESA driver's fault. Get another VESA
  289.            driver.
  290.  
  291.            It might also be that your VESA driver thinks it's necesarily to say
  292.            that it hasn't got a 64K granularity, but some other one. This re-
  293.            sults into partial screens. All this trouble is because Tetris Pro
  294.            strictly follows the VESA rules (at least, I think it does) and so,
  295.            when your VESA driver is wrong, other program might run because they
  296.            just ignore what that driver tells them, and I really follow it.
  297.  
  298.         Q: Sometimes the blocks just drop down while I am not doing anything,
  299.            why does he do that?
  300.         A: Well, it's a hardware problem. Because the dafault timer only allows
  301.            a precision of 1/18.2 ticks a second and the maximum speed at which
  302.            the blocks go down is more than 18.2 blocks down a second I put timer
  303.            channel 0 into a high-precision mode, allowing incredibly precise
  304.            timing. However, it occasionally runs backwards. I was very surprised
  305.            too when the blocks just dropped down. It seems that just before the
  306.            timer's going to overflow it runs backwards and goes berserks. My
  307.            program first just stopped and hung when it happened. Now you've got
  308.            the problem you are asking about. I can't wait for it to happen and
  309.            then display a message "Waiting..." and wait for it to pass because
  310.            it sometimes just occasionally happens, no overflow! I have seen
  311.            some software having the same problem. But some seem to don't mind
  312.            at all. It's probably fixable but I don't know how. Contact me if
  313.            you have a solution!
  314.            
  315.                            Tetris Pro - Documentation
  316.  
  317.            ──>> Stop reading now if you just want to play a game <<──
  318.  
  319. 4.      For programmers only
  320.  
  321.         Hiho programmers! Some info about Tetris Pro. Tetris Pro has been
  322.         made with Borland C++ 3.1 and TASM 3.1. The original concept I started
  323.         about a year ago, well, no, less than a year ago, was written in GFA
  324.         BASIC and ran in 320x200x256 but the decompression of PCX pictures was
  325.         too slow, so I impulsively decided to learn C. I didn't know how to
  326.         program in ASSEMBLER so I learnt it in a day or two and began writing
  327.         some VESA routines here and there. Now, a month or three later I'm
  328.         beginning to feel at home in ASM and thanks to the Intel 386
  329.         Programmers Reference Guide I'm now optimizing the ARJ decompression
  330.         code with fast 386 LEA's. It's a real speeda' right now and I think
  331.         it will be even faster when I've finally got rid of all those CALL's
  332.         to FillBuf. The source code will be available a couple of months
  333.         AFTER Tetris Pro is brought out and spread to avoid people cloning
  334.         it and bringing out their version with my code. I went through great
  335.         pains to convert and optimize the ARJ code, so please use it when
  336.         you've got hold of it. Currently, the source is a rough 400Kb of
  337.         assembly and about 150Kb of C(++) code. Most of the assembly code is
  338.         GLX, the MODule player. GLX will be brought with the code as an OBJ
  339.         file I think. You may then use this as a library with you own code,
  340.         like STMIK and GOLDPLAY or DSMI, but then for free.
  341.  
  342.         I would like to address programmer's to some docs provided with GNU C++
  343.         Here's a quote:
  344.  
  345. ──>> Snip snip, quote <<───────────────────────────────────────────────────────
  346.                 
  347. Protect Your Freedom---Fight ``Look And Feel''
  348.  
  349. "This section is a political message from the League for Programming
  350. Freedom to the users of GNU CC.  It is included here as an expression
  351. of support for the League on the part of the Free Software Foundation."
  352.  
  353. Apple and Lotus are trying to create a new form of legal monopoly: a
  354. copyright on a class of user interfaces.  These monopolies would cause
  355. serious problems for users and developers of computer software and
  356. systems.  Xerox, too, has tried to make a monopoly for itself on window
  357. systems; their suit against Apple was thrown out on a technicality, but
  358. Xerox has not said anything to indicate it wouldn't try again.
  359.  
  360. Until a few years ago, the law seemed clear: no one could restrict
  361. others from using a user interface; programmers were free to implement
  362. any interface they chose.  Imitating interfaces, sometimes with changes,
  363. was standard practice in the computer field.  The interfaces we know
  364. evolved gradually in this way; for example, the Macintosh user interface
  365. drew ideas from the Xerox interface, which in turn drew on work done at
  366. Stanford and SRI.  1-2-3 imitated VisiCalc, and dBase imitated a
  367. database program from JPL.
  368.  
  369. Most computer companies, and nearly all computer users, were happy with
  370. this state of affairs.  The companies that are suing say it does not
  371. offer ``enough incentive'' to develop their products, but they must have
  372. considered it ``enough'' when they made their decision to do so.  It
  373. seems they are not satisfied with the opportunity to continue to compete
  374. in the marketplace---not even with a head start.
  375.  
  376. If companies like Xerox, Lotus, and Apple are permitted to make law
  377. through the courts, the precedent will hobble the software industry:
  378.  
  379. Gratuitous incompatibilities will burden users.  Imagine if each
  380. car manufacturer had to arrange the pedals in a different order.
  381.  
  382. Software will become and remain more expensive.  Users will be
  383. ``locked in'' to proprietary interfaces, for which there is no real
  384. competition.
  385.  
  386. Large companies have an unfair advantage wherever lawsuits become
  387. commonplace.  Since they can easily afford to sue, they can intimidate
  388. small companies with threats even when they don't really have a case.
  389.  
  390. User interface improvements will come slower, since incremental
  391. evolution through creative imitation will no longer be permitted.
  392.  
  393. Even Apple, etc., will find it harder to make improvements if
  394. they can no longer adapt the good ideas that others introduce, for
  395. fear of weakening their own legal positions.  Some users suggest that
  396. this stagnation may already have started.
  397.  
  398. If you use GNU software, you might find it of some concern that user
  399. interface copyright will make it hard for the Free Software Foundation
  400. to develop programs compatible with the interfaces that you already
  401. know.
  402.  
  403. To protect our freedom from lawsuits like these, a group of programmers
  404. and users have formed a new grass-roots political organization, the
  405. League for Programming Freedom.
  406.  
  407. The purpose of the League is to oppose new monopolistic practices such
  408. as user-interface copyright and software patents; it calls for a return
  409. to the legal policies of the recent past, in which these practices were
  410. not allowed.  The League is not concerned with free software as an
  411. issue, and not affiliated with the Free Software Foundation.
  412.  
  413. The League's membership rolls include John McCarthy, inventor of Lisp,
  414. Marvin Minsky, founder of the Artificial Intelligence lab, Guy L.
  415. Steele, Jr., author of well-known books on Lisp and C, as well as
  416. Richard Stallman, the developer of GNU CC.  Please join and add your
  417. name to the list.  Membership dues in the League are $42 per year for
  418. programmers, managers and professionals; $10.50 for students; $21 for
  419. others.
  420.  
  421. The League needs both activist members and members who only pay their
  422. dues.
  423.  
  424. To join, or for more information, phone (617) 492-0023 or write to:
  425.  
  426. League for Programming Freedom
  427. 1 Kendall Square #143
  428. P.O. Box 9171
  429. Cambridge, MA 02139
  430.  
  431. You can also send electronic mail to league@@prep.ai.mit.edu.
  432.  
  433. Here are some suggestions from the League for things you can do to
  434. protect your freedom to write programs:
  435.  
  436. Don't buy from Xerox, Lotus or Apple.  Buy from their competitors or
  437. from the defendants they are suing.
  438.  
  439. Don't develop software to work with the systems made by these companies.
  440.  
  441. Port your existing software to competing systems, so that you encourage
  442. users to switch.
  443.  
  444. Write letters to company presidents to let them know their conduct
  445. is unacceptable.
  446.  
  447. Tell your friends and colleagues about this issue and how it threatens
  448. to ruin the computer industry.
  449.  
  450. Above all, don't work for the look-and-feel plaintiffs, and don't
  451. accept contracts from them.
  452.  
  453. Write to Congress to explain the importance of this issue.
  454.  
  455. House Subcommittee on Intellectual Property
  456. 2137 Rayburn Bldg
  457. Washington, DC 20515
  458.  
  459. Senate Subcommittee on Patents, Trademarks and Copyrights
  460. United States Senate
  461. Washington, DC 20510
  462.  
  463. (These committees have received lots of mail already; let's give them
  464. even more.)
  465.  
  466. Express your opinion!  You can make a difference.
  467.  
  468. ──>> Snip snip, quote <<───────────────────────────────────────────────────────
  469.  
  470.         I totally agree with the words said above. We are programmers, not
  471.         lawyers. We are here to make a good game, an intuitive database, a 
  472.         quick spreadsheet, or a users-friendly BBS-Program. The interface we
  473.         use is something which helps programmers to achieve their goals.
  474.         Restricting people to clone, improve or change is nonsense, it is as 
  475.         much nonsense as a grocer going to court because another grocer sells
  476.         peaches too or sueing him because he also uses a shop as a medium
  477.         to sell the products. I would like to push other programmers in the
  478.         direction too, to copy this quote I took and express your opinion.
  479.         
  480.                            Tetris Pro - Documentation
  481.  
  482. 5.      About the Gravis UltraSound
  483.  
  484.         Bytheway, thanks to the Renaissance (and in particular Joshua Jensen)
  485.         for giving out the source of GUSMod. Our GUS driver for GLX had a bug
  486.         and we couldn't find it. After taking a peek at GUSMod I found it. I
  487.         forgot the shut the voice up before playing a new instrument on it.
  488.         To make things clear, I am not using GUSMod, I'm just inspired by it,
  489.         I read a text by Joshua Jensen once in which he said he wasn't pleased
  490.         because people copied his code and said THEY made it. Because of that
  491.         type of people normal programmers can't anymore learn from each other.
  492.         This type of lamer should be banned!
  493.  
  494.         Anyway, the Gravis UltraSound is the *BEST* SoundCard for IBM PC's
  495.         and is almost the cheapest. It now replays at somewhat more than 44 KHz
  496.         16Bit stereo on every 386 with a GUS. I haven't yet got time to remove
  497.         all of the UltraClicks yet, but isn't THAT anoying anyway. Maybe I will
  498.         release a fix when I find out how to do it later.
  499.  
  500.         Being support of this great card we know how good it is. The Gravis
  501.         UltraSound is the programmer's dream and a must for the GamePlayer. If
  502.         you'd like to know more about it, contact me at the adresses in the
  503.         beginning of this document.
  504.  
  505.                            Tetris Pro - Documentation
  506.  
  507. 6.      Updates
  508.  
  509.         To make it clear, I think I will release an update later. Undoubtedly
  510.         there are bugs in Tetris Pro, however, I haven't discovered all of them
  511.         naturally. All the bugs I get info on and can figure out how to remove
  512.         will be featured in a next version. I do not plan to make more than one
  513.         update.
  514.